Techniques to reduce risk of occlusions in drug delivery systems

ABSTRACT

Disclosed are techniques to establish a modified pump rate that mitigates the effects of a pump occlusion and enables a recommended dosage of insulin to be output by a pump mechanism over the course of a control cycle. In an example, the pump rate may be reduced by adding a calculated time interval between application of actuation commands to extend the amount of time over which insulin may be output by the pump mechanism.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No. 16/945,246, filed Jul. 31, 2020, and titled “TECHNIQUES TO REDUCE RISK OF OCCLUSIONS IN DRUG DELIVERY SYSTEMS”, which is incorporated by reference herein in its entirety.

BACKGROUND

Subcutaneous insulin delivery is the most commonly utilized, minimally invasive method of insulin delivery for people with Type-1 diabetes mellitus (T1DM) that utilize insulin pumps. Unfortunately, subcutaneous insulin infusion incurs a wide range of risks that must be mitigated to ensure safety of the users. One of the most critical risks is pump occlusion, which can be defined as insulin delivery from the pump being impeded from actual delivery into the body, potentially caused by site pressure, scar tissue formation, incorrect cannula insertion, and others.

It is known that a high rate of insulin infusion is strongly correlated with increased incidence of pump occlusions. This is due to issues in subcutaneous insulin infusion sites potentially reducing in the rate of absorption of the subcutaneously delivered insulin into the bloodstream and increasing the resistance (back pressure) against additional insulin delivery. This resistance against additional insulin delivery is exacerbated with high insulin delivery rates, as the back pressure does not have sufficient time to be absorbed by a user's body before additional insulin is delivered into the infusion site.

This back pressure issue is especially apparent during a user-initiated “bolus” insulin delivery of pump users, where the pump attempts to deliver an insulin dosage greater than normal and at a fixed rate possible upon user request.

It would be advantageous to provide techniques and devices operable to mitigate the effects a pump occlusion on the delivery of drugs to a user.

SUMMARY

Disclosed is an example of a non-transitory computer readable medium embodied with programming code executable by a processor. When the programming code is executed by the processor, the processor may be operable to receive a control instruction to deliver a dosage of insulin. The control instruction may include an amount of insulin to be output as the dosage of insulin. A pump rate for delivery of the dosage of insulin may be modified by adding additional time to a preset time period to provide an extended time period for outputting the dosage of insulin. An actuation command may be to output to actuate a pump mechanism to output the dosage of insulin included in the control instruction at the modified pump rate.

An example of a drug delivery device is disclosed that includes a reservoir, a cannula, a pump mechanism, a memory, a controller and a communication device. The reservoir may be configured to hold a liquid drug. The cannula may be coupled to the reservoir via a fluid delivery path and operable to output the liquid drug to a user. The pump mechanism may be coupled to the reservoir and operable to output the liquid drug from the reservoir via the fluid delivery path and out of the cannula. The memory may be operable to store programming code, applications including a delivery control application, and data. The controller may be coupled to the pump mechanism and the memory, and operable to execute programming code and the applications including the delivery control application. The communication device may be operable to wirelessly communicate with an external device and communicatively coupled to the controller. The controller, when executing the delivery control application, may be operable to receive, from the external device, a control instruction including a dosage of insulin to be output by the pump mechanism. The received control instruction may indicate an amount of insulin to be output for a control cycle. The controller may be operable to calculate an output distribution of the dosage of insulin by the pump mechanism. The output distribution may be a series of partial insulin doses output at discrete times distributed over the control cycle. An actuation command may be output by the controller to actuate the pump mechanism to deliver a partial each insulin dose in the series of partial insulin doses.

An example of a method is also disclosed that may include receiving a control instruction to deliver a dosage of insulin. The control instruction may include a dosage of insulin to be output as a pump mechanism. A number of doses of insulin may be determined to be delivered based on a duration of a control cycle. The sum of the number of doses of insulin may equal the dosage of insulin, to be delivered based on a duration of a control cycle. A series of actuation commands may be output. The series of actuation commands may include a number of actuation commands equal to a number of doses of insulin in the plurality of doses of insulin. Each actuation command in the series of actuation commands may actuate a pump mechanism to output a respective dose of insulin of the plurality of doses of insulin, and each actuation command may be applied after passage of a selected additional time period based on the duration of the control cycle.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a process for modifying a pump rate for delivery of a dosage of insulin.

FIG. 2 illustrates an example of a functional block diagram of drug delivery system suitable for implementing the example processes and techniques described herein.

FIG. 2A illustrates an example of a drug delivery system suitable for implementing the example processes and techniques described herein.

FIG. 3A illustrates an example of a process for determining a series of insulin dosages to be output over a control cycle.

FIG. 3B illustrates an example of a process for modifying a pump rate suitable for use in the device examples of FIGS. 2 and 2A.

FIG. 4 shows a graphic illustrating time segmentation of a control cycle during the modification of a pump rate.

FIG. 5A illustrates an example of a process for detecting a pump occlusion that may result in a modification of a pump rate.

FIG. 5B illustrates an example of a process for detecting a pump occlusion that may result in a modification of a pump rate.

FIG. 6 illustrates an example of system suitable to implement the processes and techniques described herein.

DETAILED DESCRIPTION

An example provides a process that may be used with additional algorithms or computer applications that may provide information and enable management of blood glucose levels and insulin therapy. Such algorithms may include an “artificial pancreas” algorithm-based system, or more generally, an artificial pancreas (AP) application or automatic insulin delivery (AID) algorithm, that provides automatic delivery of insulin based on a blood glucose sensor input, such as that received from a CGM or the like. In an example, the artificial pancreas (AP) application when executed by a processor may enable a system to monitor a user's glucose values, determine an appropriate level of insulin for the user based on the monitored glucose values (e.g., blood glucose concentrations or blood glucose measurement values) and other information, such as user-provided information, such as carbohydrate intake, exercise times, meal times or the like, and take actions to maintain a user's blood glucose value within an appropriate range. The appropriate blood glucose value range may be considered within a threshold value of a target blood glucose value of the particular user. For example, a target blood glucose value may be acceptable if it falls within the range of 80 mg/dL to 120 mg/dL, which is a range satisfying the clinical standard of care for treatment of diabetes. Alternatively, in addition, an AP application (or AID algorithm) as described herein may be able to establish a target blood glucose value more precisely and may set the target blood glucose value at, for example, 110 mg/dL, or the like. As described in more detail with reference to the examples of FIGS. 1-5 , the AP application (or AID algorithm) may utilize the monitored blood glucose measurement values and other information to determine an optimal pump rate that mitigates potential causes of insulin device pump occlusions, or the like. A pump rate may be the amount of insulin that may be output by a pump over a set period of time.

In operation, a wearable drug delivery device (also referred to as “a drug delivery device” herein) may be affixed at a site on a user's body, such as, for example, the abdomen or upper arm. The drug delivery device may include a needle insertion component, a needle and a flexible cannula within the needle, a reservoir containing insulin, a pump that is a mechanism operable to expel various amounts of insulin from the reservoir, and control logic circuitry that is operable to control the pump and delivery of insulin from the reservoir to the flexible cannula. A needle may be used to puncture the user's skin to the depth of subcutaneous tissue, and within the needle is a flexible cannula. After puncturing the user's skin, the needle is withdrawn leaving the flexible cannula in place. Insulin may be delivered from the reservoir based on the pump causing insulin to be expelled from the reservoir to a fluid delivery path that leads to the flexible cannula that has been inserted in the user's body.

In operation, the wearable drug delivery device may be operable to deliver a basal dosage of insulin and a bolus amount of insulin. The basal dosage of insulin is a small amount of insulin that is gradually delivered to a user over the course of a day (i.e., 24 hours). A bolus is an amount of insulin greater than the basal dosage that is delivered in a much shorter period of time than the extended period of time over which the basal dosage is delivered. A bolus dosage may be requested or required for various reasons, most typically, a bolus dosage is delivered in response to the consumption of a meal by the user, but also in response to exercise or as a way to correct excursions of the user's blood glucose measurements. The sum of the insulin amounts delivered as a basal dosage and in the bolus dosages may be referred to as the user's total daily insulin (TDI). The AID algorithm may be operable to deliver basal dosages, bolus dosages as well as other dosages, that are greater than a basal dosage but less than a typical bolus dosage. These other dosages may be referred to as “microboluses.” A microbolus may be an amount of insulin greater than basal but less than a bolus. In an example, the amount of insulin in a microbolus may include the amount of insulin in the basal dosage. If the user's blood glucose is within the “safe range,” such as 70 mg/dL-120 mg/dL, the amount of insulin contained in the microbolus may be substantially equal to the basal dosage of insulin. Microboluses may be less likely to be occluded because it is smaller than a typical bolus dosage.

In some instances, a situation may arise during which a proper amount of insulin is not delivered to a user within a predetermined time period. The predetermined time period may be referred to as “a control cycle.” A common cause of the non-delivery (e.g., an improper delivery) of the intended amount of insulin within the predetermined amount of time is the presence of what is generally referred to as a pump occlusion. A pump occlusion may be defined as insulin delivery from the pump being impeded from actual delivery into the body. The occlusion may be within a pump mechanism, a fluid delivery path of the medical device, a needle or cannula, or the user's body. A non-delivery of insulin is intended to mean that an intended amount of insulin was not delivered to the user for some reason, such as a pump occlusion. In the disclosed examples, a control cycle may be approximately 5 minutes. Of course, the control cycle may be a period of time that is longer or shorter than approximately 5 minutes, such as 3 minutes, 6.5 minutes or the like. In an example, control logic circuitry in a pump may initiate delivery of a predetermined amount of insulin that is to be delivered to the user within a set period of time, e.g., 30 seconds. The control logic circuitry may direct the pump to deliver the predetermined amount of insulin within the set period of time, but due to a pump occlusion, the pump may be unable to complete the delivery of the predetermined amount of insulin within the set period of time.

However, there may be times that an intended amount, or proper dosage, of insulin is not delivered to the user, which may be referred to as a non-delivery or improper delivery. A pump occlusion may be caused by various conditions. In a first example, the drug delivery device may be deployed with the flexible cannula inserted in the user. The deployed drug delivery device while initially affixed to a site on a user may shift which may result in movement of the drug delivery device. However, the flexible cannula cannot move since the flexible cannula is inserted in the user. This relative movement between the drug delivery device and the flexible cannula may cause a kink in the flexible cannula. As a result of the kink, the full amount of the predetermined amount of insulin may not be delivered within the set period of time.

In a second example, pressure may be applied on a surface of the drug delivery device (such as the top or the side) and consequently to the site of the body at which the drug delivery device is located. In response to the increased pressure on the drug delivery device and the site of the body, interstitial fluid may build up within a part of the fluid delivery path of the pump which may cause a back pressure into the cannula (or even further up the fluid delivery path toward the reservoir and pump). As a result, the pump has to work harder to expel both the built-up interstitial fluid and the predetermined amount of insulin.

As a third example, the needle insertion component is operable to puncture the skin of the user with the needle to a depth of the subcutaneous region of the user's skin. The needle is hollow and within the needle is the flexible cannula. The needle insertion component is further operable to retract the needle from the user's skin and leave the flexible cannula within the skin to allow delivery of insulin. However, when the needle is inserted in the skin, the needle may leave punctured tissue below the open end of cannula from which insulin is output to the user's subcutaneous region. The punctured tissue allows the end of the cannula to freely move up and down and not be occluded. However, external pressure to the skin in the area of the drug delivery device may inadvertently push the cannula against the non-punctured skin around or below the open end of the cannula. As a result, the cannula may be forced into contact with the non-punctured skin around or below the cannula which may occlude the cannula. Alternatively, or in addition, the punctured skin may heal around the cannula and seal the cannula, thereby causing the occlusion.

In a fourth example, the body's immune system may attack the location of the needle insertion (i.e., insulin infusion site). The human body's immune response causes inflammation in the area around the cannula within the body and scar tissue may form, which causes an occlusion around the cannula and an occlusion of the pump.

Occlusions may also occur when insulin is not absorbed quickly enough by the subcutaneous tissues of the user. The delay in absorption may be related to a number of issues, such as the buildup of scar tissue if the pump is placed at a frequently used location on the user's body. Pump occlusion may be caused by different conditions. Any method or device operable to mitigate the occurrence of a pump occlusion is an improvement of the presently available wearable drug delivery systems.

FIG. 1 illustrates an example of a process for mitigating the potential causes of pump occlusion. The process 100 may be implemented by a controller coupled to a pump mechanism. For example, the controller may be operable to receive a control instruction to deliver a dosage of insulin (110). In response to the received control instruction, the controller may be operable to modify a pump rate for delivery of the dosage by at least adding additional time to a preset time period for delivering the dosage of insulin (120). A pump rate may be a rate at which a pump on a wearable drug delivery device is operable to deliver insulin to a user. The controller may be further operable to output an actuation command to actuate a pump to output the dosage of insulin included in the control instruction at the modified pump rate (130).

An example of a medical device operable to implement the process 100 is shown in FIGS. 2 and 2A. The medical device 202 may include a controller 221, a pressure sensor 222, a memory 223, an AP application 229 and delivery control application 299 stored in the memory 223, a pump mechanism 224, a communication device 226, user interface 227, and a power source 228. a memory 223 may be operable to store programming code and applications including a delivery control application 299, an AP application 229 and data. The delivery control application 299 and an AP application 229 may optionally be stored on other devices, as shown in another examples.

The controller 221 may be coupled to the pump mechanism 224 and the memory 223. The controller 221 may include logic circuits, a clock, a counter or timer as well as other processing circuitry, and be operable to execute programming code and the applications stored in the memory 223 including the delivery control application. A communication device 226 may be communicatively coupled to the controller 221 and may be operable to wirelessly communicate with an external device, such as personal diabetes management device, a smart device (both shown in a system example), or the like.

The pressure sensor 222′ may be a mechanical, electronic, or electromechanical sensor that is operable to measure changes in pressure of a fluid delivery path between the reservoir 225 and a cannula (not shown in this example) inserted into a user.

The pump mechanism may be operable to deliver a drug, like insulin, at a fixed rate. Typically, pump mechanisms are commanded by the controller 221 to deliver insulin at the fixed rate. For example, a fixed rate for the pump mechanism 224 may be a rate of approximately 0.05 Units per 2 seconds, or 0.025 per second, or 6 Units per 5 minutes, where insulin is measured in Units. These mechanical rates are different from physiological dosage rates that may be determined for a patient. For example, an AP application or AID algorithm executing on a personal diabetes management device or a smart phone may determine that a user's total daily insulin is 24 units per 24 hours, which may translate to an exemplary physiological dosage rate of 1 unit per hour that may be determined according to a diabetes treatment plan. However, the pump mechanism 224 may be operable to deliver insulin at rates different from the example physiological dosage rate of 1 unit per hour. Depending upon which dosage rate (e.g., either the example physiological dosage rate or the example mechanical rate of the pump mechanism), additional and different control algorithms may be implemented or applied to enable delivery of an appropriate insulin dosage by the pump mechanism 224. In an example, the medical device 202 may be attached to the body of a user, such as a patient or diabetic via, for example, an adhesive, and may deliver any therapeutic agent, including any drug or medicine, such as insulin, morphine, or the like, to the user. The medical device 202 may, for example, be a wearable device worn by the user. For example, the medical device 202 may be directly coupled to a user (e.g., directly attached to the skin of the user via an adhesive or the like). In an example, a surface of the medical device 202 may include an adhesive (not shown) to facilitate attachment to a user.

In various examples, the medical device 202 may be an automatic, wearable drug delivery device. For example, the medical device 202 may include a reservoir 225 configured to hold a liquid drug (such as insulin), a needle or cannula 233 (not shown) for delivering the drug into the body of the user (which may be done subcutaneously, intraperitoneally, or intravenously), and a pump mechanism (mech.) 224, or other drive mechanism, for transferring the drug from the reservoir 225, through a needle or cannula 233, and into the user.

The pump mechanism 224 may be fluidly coupled to reservoir 225, and communicatively coupled to the medical device controller 221. The pump mechanism 224 may be coupled to the reservoir 225 and operable to output the liquid drug from the reservoir 225 via a fluid delivery path and out of the cannula (shown in the example of FIG. 2A). The pump mechanism 224 may have mechanical parameters and specifications, such as a pump resolution, that indicate mechanical capabilities of the pump mechanism. The pump resolution is a fixed amount of insulin the pump mechanism 224 delivers in a pump mechanism pulse, which is an actuation of the pump mechanism for a preset time period. Actuation may be when power from the power source 228 is applied to the pump mechanism 224 and the pump mechanism 224 operates to pump a fixed amount of insulin in a preset amount of time from the reservoir 225.

The cannula 233 of FIG. 2 may be coupled to the reservoir 225 via a fluid delivery path 234 (and shown in the example of FIG. 2A). The cannula 233 may be operable to output the liquid drug to a user when the cannula 233 is inserted in the user.

The medical device 202 may also include a power source 228, such as a battery, a piezoelectric device, or the like, that is operable to supply electrical power to the pump mechanism 224 and/or other components (such as the controller 221, memory 223, and the communication device 226) of the medical device 202.

As shown in FIG. 2A, the drug delivery device 200 may include a plunger 102 positioned within the reservoir 225′. An end portion or stem of the plunger 102 can extend outside of the reservoir 225′. The pump mechanism shown generally as 224′ may, under control of the controller 221′, be operable to cause the plunger 102 to expel the fluid, such as a liquid drug (not shown) from the reservoir 225′ and into the fluid component 104 and cannula 108 by advancing into the reservoir 225′. In various examples, the pressure sensor 222′ may be integrated anywhere along the overall fluid delivery path of the drug delivery device 200, which includes the reservoir 225′, a fluid delivery path component 104, the cannula 108) that is at the same approximate pressure as the outlet into the patient. An intervening membrane (not shown in FIG. 2A for simplicity) can be used to isolate the pressure sensor 222′ from the fluid within the reservoir 225′, the fluid delivery path component 104, and/or the cannula 108. Alternatively, a pliable gel or sufficiently soft rubber can be used to isolate the pressure sensor 222′ from the fluid. In an example, the pressure sensor 222′ may be integrated into the reservoir 225′.

In various embodiments, the pressure sensor 222′ can have a round body to simplify sealing against the reservoir 102, the fluid delivery path component 104 and the cannula 108. In various embodiments, an integral lip seal can be used to seal the interface between the body of the pressure sensor 222′ and the reservoir 225′, the fluid delivery path component 104, and the cannula 108.

The pressure sensor 222′ may be coupled to a controller 221′ via connection 22A. The pressure sensor 222′ can measure the absolute pressure of the reservoir 102 and/or the fluid delivery path component 104 (e.g., the overall fluid delivery path of the drug delivery device 200) and can provide an output signal to the controller 221′. In various embodiments, the pressure sensor 222′ can take continuous readings of the absolute pressure. The output signal from the pressure sensor 222′ can indicate the measured or detected absolute pressure and/or any other measured, detected, or derived pressure value.

The controller 221′ can process the received signal from the pressure sensor 222′. The controller 221′ may be implemented in hardware, software, or any combination thereof. In various examples, the controller 221′ can be implemented as dedicated hardware (e.g., as an application specific integrated circuit (ASIC)). The controller 221′ may be a constituent part of the drug delivery device 200, can be implemented in software as a computational model, or can be implemented external to the drug delivery device 200 (e.g., remotely).

The pressure sensor 222′ can be an absolute pressure sensor that can detect both ambient pressure (e.g., absolute or atmospheric pressure) and relative pressure (e.g., gage or pumping pressure) introduced as the drug delivery device 200 displaces fluid (e.g., the fluid stored in the reservoir 225′) in the overall fluid delivery path of the drug delivery device (e.g., including the reservoir 102 the fluid delivery path component 104 and the cannula 108). By using an absolute pressure sensor as the pressure sensor 222′, it may also be possible to measure the effects of external ambient pressure on air within the reservoir 102.

In an example, the pressure sensor 222′ may be operable to respond to pressure changes in the fluid delivery path and cause a signal to be provided to the controller 221′. The pressure sensor 222′ may, for example, be one or more sensors positioned along the fluid delivery path that are operable to respond to changes in pressure of the fluid within the fluid delivery path. In a specific example, the pressure sensor may be an electromechanical sensor that includes a transducer. The transducer may be positioned to detect pressure within the fluid delivery path, for example, adjacent to a wall of the fluid delivery path or the like. In response to fluid being output from the reservoir, the walls of the fluid delivery path may become more rigid due to the increased pressure of the dispensed fluid. In response to the increased pressure caused by the dispensed fluid, which may cause the transducer positioned adjacent to a fluid delivery path wall to generate an electrical signal in response to an increased pressure. As the fluid in the dosage is delivered to the user, the increased pressure in the fluid delivery path of the reservoir 225′ to the cannula 108 may cause the pressure sensor 222′ to generate an output signal indicative of the pressure in the fluid delivery path.

The controller 221′, for example, may be operable to determine an increase in a delivery pressure value when outputting insulin in comparison to a respective delivery pressure value associated with a respective earlier output of insulin. In another example, the controller may be operable to measure pressure by using the time it takes for the pump mechanism to push a specified amount of insulin (e.g., 0.1 Units) out of the reservoir. If the delivery of the specified amount of insulin takes longer than a threshold, the controller may cause a first alarm to notify the user of a possible problem with the pump. For example, even though, a pump resolution is 0.05 Units per 2 seconds, if there is a pump occlusion back pressure into the reservoir may cause the pump to fail to deliver the amount of insulin designated in a control instruction, which may result in extra pulses of the pump mechanism. For example, for each pulse, the pump piston is moved so an amount of 0.05 U is displaced from the reservoir 225′. If there is occlusion, it may take longer than 2 seconds to complete the pulse, which means that, in this example, there is not a fractional pulse (i.e., a pulse less than two seconds or a delivery of less than 0.05 U. If the time to complete a tick exceeds some threshold (e.g., 5 seconds, 9 seconds, or the like) the controller 221′ may give an occlusion alarm that may be delivered to a user interface of a smart phone or PDM. In a further example, the controller 221′ may be operable to report back to the AP algorithm how many pulses were delivered.

In various examples, the output signal generated by the pressure sensor 222′ can be a voltage signal, a current signal, and/or an electrical charge signal that may be provided to the controller 221′ via a connection, such as 222A. In general, the output signal from the pressure sensor 222′ can indicate a measured pressure. In various examples, the output signal generated by the pressure sensor 222′ may be an analog or digital data signal output by, for example, an inter-integrated circuit (I2C), serial peripheral interface (SPI), or any other known or customized synchronous or asynchronous data communication stream. Further, the pressure sensor 222′ and the controller 221′ can communicate over any known signaling protocol or standard including any known wired or wireless communication or signaling protocol. In various examples, the signal generated by the pressure sensor 222′ for output and delivery to the controller 221′ may be compensated for various environmental conditions, such as altitude, humidity or temperature, to remove or mitigate any error due to environmental changes. In a specific example, the controller 221′ may be operable to convert the output signal received from the pressure sensor 222′ into an indication of absolute pressure (e.g., pounds per square inch absolute (psia)) or the like. The controller 221′ may be operable to process the output signal received from the pressure sensor 222′ to determine whether a modification of the pump rate of the pump mechanism 224 is necessary, and, if determined to be necessary, may make the appropriate pump modification or modifications.

An operational example may be helpful to further explain the pump rate and the determination of delivering a dosage of insulin over a period of time. FIG. 3A illustrates an example of a process for determining a series of insulin dosages to be output over a control cycle.

A control cycle may be a time period during which an AP application or an AID algorithm may process received data and information, such as a blood glucose measurement value provided by a continuous blood glucose measurement sensor or other devices, services, such as a cloud service, or the like. The duration of the control cycle may vary between different brands of AP applications and different sensors coupled to the respective AP applications. In the present example, a blood glucose sensor may periodically output a blood glucose measurement value. Upon receipt of each periodic blood glucose measurement value, an AP application may process the received blood glucose measurement value and generate a control instruction.

The control cycle may be the time from when an AP application receives a blood glucose measurement value and an immediately subsequent blood glucose measurement value. In the present examples, the control cycle is approximately 5 minutes.

For example, the process 300 is an algorithm for determining a series of insulin dosages to be output over a control cycle may be performed either by a personal diabetes management device (PDM) or by a medical device that delivers insulin to a user. In the process 300, a control instruction may be received that includes a dosage of insulin to be output by the pump mechanism. For example, an AP application or AID algorithm may determine that a bolus dosage is required to be delivered or has been requested by a user to be delivered. In response, the AP application or AID algorithm may generate a control instruction for output to a medical device that is operable to deliver insulin to the user.

In an operation that does not account for the possibility of a pump occlusion, the medical device may deliver the requested or required bolus of insulin as rapidly as possible given the pump resolution of the pump mechanism. In order to provide the requested or required bolus rapidly during the operation that does not account for the possibility of a pump occlusion, the AP application may output a series of control instructions that cause medical device to actuate the pump mechanism without pausing between actuations until the entire amount of insulin indicated in the control instruction is output from the reservoir.

In contrast to the operation that does not account for the possibility of a pump occlusion, the present examples account for the possibility of a pump occlusion. As in the example of FIG. 1 and the following examples, a controller of a medical device may be operable to modify a pump rate for delivery of the dosage of insulin provided using different techniques. As discussed with reference to the example medical device of FIG. 2 , a delivery control application may be executed by a controller of the medical device.

In an example, a controller of the medical device may receive a control instruction from an AP application. The received control instruction may include a dosage of insulin to be delivered by the medical device. Instead of delivering the requested bolus of insulin in a rapid delivery without pausing between actuations until the entire amount of insulin indicated in the control instruction is delivered, the delivery control application executed by the controller of the medical device may be operable to deliver a number of microboluses continuously over the control cycle (e.g., 5 minutes). The following examples describe a pre-existing AID system that may utilize the devices, products, processes and techniques described herein to deliver its recommended dose of insulin every control cycle over a pre-defined period, such as the full control cycle, instead of attempting this delivery at a fixed pump rate without pausing to allow some absorption of the delivered insulin.

In more detail, an AID algorithm may recommend as a bolus insulin delivery ID(t). In response, a delivery control application executing on a medical device may be operable to, instead of delivering this ID(t) immediately, may deliver a portion of this delivery over an evenly distributed interval throughout its control cycle to minimize the buildup of pressure to thereby mitigate the rate of occlusion. The calculation of an evenly-distributed delivery amount of insulin over a control period may be described with reference to the following equations:

$\begin{matrix} {{I_{n}(t)} = \frac{I_{D}(t)}{R}} & {{Equation}1} \end{matrix}$ $\begin{matrix} {{t_{c}(t)} = \frac{t_{i}(t)}{{I_{D}(t)}/R}} & {{Equation}2} \end{matrix}$

In Equations 1 and 2, I_(D)(t) is the algorithm's requested amount of insulin to be delivered for the current control cycle, R is the pump resolution that is an expression of an amount of insulin that is delivered by a pulse of the pump mechanism, I_(n)(t) is the number of times the pump actuates every t_(i)(t) time intervals to deliver insulin at the pump resolution R, where t_(c)(t) is the time interval t_(i)(t) divided by the number of pump actuations are needed to deliver an insulin delivery quantity (i.e., I_(D)(t)/R).

FIG. 3A illustrates an example of a process for determining a series of insulin dosages to be output over a control cycle of an automatic insulin delivery (AID) system.

In the example process 300 of FIG. 3A, a controller of the medical device may receive a control instruction including a dosage of insulin to be output by the pump mechanism (310) from an external device. An example of an external device may be a PDM, a smart phone, a smart wearable accessory, such as a smart watch, a fitness device, or the like, or some other type of computing device able to communicate with the medical device. The controller may evaluate the received control instruction to determine a dosage of insulin to be delivered over a control cycle of the AID system.

For example, an AID algorithm of the AID system may request a microbolus of 0.4 U (of insulin) at the beginning of a current control cycle. Briefly referring back to FIG. 2 , the pump mechanism 224 of the medical device 202 as described with reference to the following examples may have a pump resolution of 0.05 Units of insulin that is delivered in 2 seconds, which means that in response to a control actuation command the pump mechanism delivers 0.05 Units of insulin over a time of 2 seconds. Of course, different pump resolutions are possible based on a type of electric motor, control mechanisms or logic used in the respective pump mechanism.

In the present example of FIG. 3A and FIG. 4 , the 2 seconds of the pump resolution may be viewed as a preset time period and the 0.05 Units may be viewed as the minimum dosage that the pump mechanism may deliver in response to a control actuation command. In response to the control actuation command, the pump mechanism may “pulse” for 2 seconds during which the pump mechanism outputs the 0.05 Units of insulin. So, each pulse of the pump mechanism may be equated to either 0.05 Units of insulin or 2 seconds. may also be referred to the amount of insulin output by each pulse.

Returning to the example of FIG. 3A, when determining the dosage of insulin to be delivered, the controller may evaluate the dosage of insulin in the received control instruction with reference to the pump resolution and the time period of the control cycle. Based on the evaluation, the controller may determine a number of doses that equal the dosage of insulin to be delivered based on over a time period equal to the time of a control cycle (320). Once the dosage of insulin is determined by the controller, the controller may output an actuation command to the pump mechanism to deliver a set amount of insulin. The actuation command may actuate the pump mechanism to deliver a set amount of insulin for each insulin dosage in a series of insulin doses (330). Actuation of the pump mechanism is a pump mechanism pulse generated in response to the actuation command that causes the output of a drug from the reservoir.

It may be helpful to describe an example of a process performed by the controller when evaluating dosage of insulin in the received control instruction with reference to the pump resolution and the time period of the control cycle. The process 303 of FIG. 3B is described with reference to FIG. 4 for more easily illustrating and explaining the process 303 as well as other processes that may be utilized. In the operational example of FIG. 3B, the control instruction from the external device may include a dosage of insulin equal to 0.4 Units of insulin.

In the example of the evaluation by the controller in response to the control instruction, the controller may process the dosage of insulin in the control instruction. FIG. 3B illustrates an example of a process for modifying a pump rate that may be implemented by the device shown in the examples of FIGS. 2 and 2A. FIG. 4 shows a graphic illustrating segmentation of a control cycle during the modification of a pump rate. This graphic may be helpful in understanding the process 303 described in FIG. 3B.

The evaluation process 303 of FIG. 3B includes the controller calculating a number of pump mechanism pulses need to deliver the dosage of insulin (360). Since the pump mechanism has a pump resolution in which a fixed amount of insulin (e.g., 0.05 U) is output over a preset time period (e.g., 2 seconds) during each pulse of the pump mechanism, the controller may determine a number of pulses of the pump mechanism needed to output the dosage of insulin included in the control instruction by, for example, dividing the 0.4 U (from the control instruction) by the 0.05 U. In the example, the number of pump mechanism pulses needed to deliver the dosage of insulin is (0.4/0.05=) 8. When a remainder of insulin is determined to be undelivered during a preset time period by a controller (such as controller 221′), the controller may be operable to accumulate (or carry over) the determined remainder of insulin to a next time period. In which case, the amounts of insulin to be delivered may not be evenly distributed across the respective time segments. The controller may be operable to either deliver the accumulated remainder of insulin and the scheduled insulin delivery during the next time segment or to revise the distribution so that the accumulated remainder is distributed with the scheduled delivery amounts over the remaining time segments. A revised distribution to include the accumulated remainder may be determined by summing the accumulated remainder and the total amount of insulin to be delivered over the remaining time segments and dividing the sum total by the remaining time segments.

In the example graphic 400 of FIG. 4 , the control cycle 444 is shown as extending over 8 time segments or extended time periods (i.e. time segment #1-time segment #8 or extended time period #1-#8). Each of the time segments #1-#8 are further divided into 2 additional time segments. As shown, time segment #1 includes pulse 411 and a selected additional time period 421. The pulse 411 may be equal to the pump resolution or a preset time period. The pump resolution, or the resolution of the pump mechanism, may be an amount or volume of insulin that the pump mechanism delivers upon each actuation. Note the pump resolution may also be referred to as the pump mechanism resolution, the resolution of the pump, or resolution of the pump mechanism and the terms may be used interchangeably. The preset time period 411 may be equal to the period of time that the pump mechanism of the medical device takes to output the volume of fluid (i.e., the pump resolution), such as pump mechanism 224 of the medical device 202 of FIG. 2 , outputs in response to a control actuation command.

The controller may be operable to divide the dosage of insulin by a resolution of the pump mechanism to produce the number of times the pump needs to actuate to output the insulin dosages as shown by the respective time segments in the example graphic 400 of FIG. 4 . For example, the pump mechanism 224 of the medical device 202 as may be assumed to have a pump resolution of 0.05 Units of insulin that is delivered in 2 seconds, which means that in response to a control actuation command, a pulse of the pump mechanism delivers 0.05 Units of insulin over a time of 2 seconds. The pulse of the pump mechanism may be complete at the end of 2 seconds if no resistance is encountered (such as back pressure from an occlusion or the like). In the case of resistance, the pulse may last longer than 2 seconds due to a mechanical travel limit on the pump mechanism. The 2 seconds may be equal to the preset time period 411 in FIG. 4 and the 0.05 Units may be viewed as the fixed dosage that the pump mechanism may deliver in response to a control actuation command during the preset time period. The mechanical limit may be based on the travel of a ratchet gear (not shown) as the ratchet gear moves from one gear tooth to another, from one notch to another between gear teeth, or the like. In an example, the fastest time that the ratchet gear can move moves from one gear tooth to another, from one notch to another between gear teeth, or the like may be 2 seconds. The movement in the presence of an occlusion or back pressure may be 5 seconds, 9 seconds or the like.

As shown in FIG. 4 , each time segment #1-#8 is formed by a preset time period or pulse 411, and a selected additional time period, such as 421. The pulse or preset time period 411 is equal to 2 seconds which is the time that the pump mechanism takes to output a dose of insulin equal to 0.05 Units. Each pulse 411-418 has a fixed time period that is equal to the time period of the pump resolution. The selected additional time period 421 is an amount of time that the controller has calculated to wait until issuing a subsequent actuation command. The selected additional time periods 421-428 may be of equal duration to allow sufficient absorption of the outputted insulin. In the example of FIG. 4 , each of the time segments #1-#8 is of equal duration.

At 370, the controller may be operable to calculate an output distribution of the dosage of insulin by the pump mechanism by dividing a duration of a control cycle by the number of pump mechanism pulses to obtain an output distribution, such as output distribution 449 of FIG. 4 . The output distribution 449 may be, for example, a series of discrete time segments distributed over the duration of control cycle 444 and during which a partial insulin dose is output by the pump mechanism. Alternatively, the output distribution 449 may be a series of partial doses of insulin dosages output at discrete times distributed over the control cycle 444. The output distribution 449 illustrates the distributed output of the dosage of insulin indicated in the control instruction as partial doses of insulin distributed over the control cycle 444 of FIG. 4 . The output distribution 449 may be used by the controller to determine timing of delivery of the partial doses of the dosage of insulin. For example, each pulse 411-418 may output of a dose of insulin that is an of the dosage of insulin indicated in the control instruction.

In addition to determining the output distribution, the controller also determines the timing of the partial doses of the dosage of insulin (380). For example, the timing of the partial doses of the dosage of insulin may be represented by the selected additional time periods 421-428. Each additional time period 421-428 is a period of time that serves as a delay or a waiting period after completion of a corresponding pulse 411-418.

Keeping with the example dosage of insulin in the control instruction being 0.4 Units, the controller upon determining the number of pump mechanism pulses needed to deliver the 0.4 Units is 8 may divide the duration of the control cycle 444 by 8 to determine the duration of each time segment #1-8. As mentioned, a control cycle such as 444 may be 5 minutes or 300 seconds (5×60 seconds) in duration. The duration of each time segment #1-#8, in this example, may be equal to the time period of the control cycle in seconds (i.e., 300) divided by the number of pump mechanism pulses (i.e., 8). In this example, the duration of each time segment #1-#8 may be equal to 37.5 seconds.

Based on this determination the controller generate a respective actuation command to actuate the pump mechanism to output each partial dose of the partial doses distributed over the output distribution (390). For example, the controller may generate a respective actuation command that corresponds to pulse 411 of time segment #1, and at after the 37.5 seconds allocated to time segment #1, the controller may generate another respective actuation command that corresponds to pulse 412 of time segment #2. A timer within the controller may be reset or may indicate a start of time segment #2. The respective generation of subsequent actuation commands for time segment #3, time segment #4, time segment #5, time segment #6, time segment #7 and time segment #8 may be performed until the control cycle 444 is completed. By the completion of time segment #8 and the corresponding completion of the control cycle 444, the 0.4 Units of insulin in the dosage of insulin included in the control instruction is output by the pump mechanism.

Recall that under an operation that does not pause to account for pump occlusions, the controller may generate actuation signals that cause the delivery of the instructed 0.4 Units immediately without any pauses at the pump resolution. In such an operation that does not account for pump occlusions, the controller may generate actuation signals every 2 seconds at the start of a control cycle, the pump mechanism may need to receive 8 actuation signals to deliver the instructed 0.4 Units within 16 seconds (i.e., 2 seconds times the 8 actuation signals). The control cycle 444 may be as long as 5 minutes and the 16 second delivery of insulin may be less than the total time duration of time segment #1.

It is also possible for the controller to take different approaches to determining the output distribution 449 and the time segments #1-#8.

For example, the controller may be operable to determine a number of times the pump mechanism needs to actuate to output the dosage of insulin included in the control instruction (e.g., 8). Using the determined number of times the pump mechanism needs to actuate to output the dosage of insulin, the controller may segment the control cycle 444 into time segments #1-#8 by dividing a duration of the control cycle 44 by the determined number of times the pump mechanism ought to actuate. The segmentation of the 300 seconds of the control cycle 444 provides eight time segments #1-#8 of 37.5 seconds. As noted, each time segment #1-#8 may include a pump resolution or preset time period and a respective additional time period 421

In the operational example of FIG. 3B at 380, each time segment #1-#8 is 37.5 seconds in duration. The controller is operable to generate a respective actuation command that actuates the pump mechanism for each time segment #1-#8. As shown in FIG. 4 , the pump mechanism pulses 411-418 occur at the start of each respective time segment #1-#8. Each pump mechanism pulse, such as pulse 411 of time segment #1, pumps 0.05 Units of insulin for 2 seconds and stops, the controller delays the generation of an actuation command for application at the start of time segment #2 for 35.5 seconds (i.e., 37.5 seconds minus 2 seconds). The 35.5 seconds may be measured by a clock, a counter or timer accessible by or within the controller. The 35.5 seconds may be the selected additional time period 421. An advantage of the selected additional time period 421 is that this delay enables the partial dose of insulin to be absorbed within the user and thereby mitigate the effects of any pump occlusion.

In the example of FIGS. 3B and 4 , after the passing of the selected additional time period (e.g., the delay), the controller causes the actuation of the pump mechanism, which pulses at 412 to output another 0.05 Units of insulin. Since the pump mechanism does not have the ability to gradually deliver 0.05 U, the pump outputs 0.05 Units over the 2 seconds of the preset time period or pulse, then pauses for 35.5 seconds, then repeats. The processes of the examples of FIGS. 1, 3A and 3B enable spreading the 0.4 Units of insulin to be output over a time of the control cycle that is greater much more than the 16 seconds (i.e., 8 pulses to deliver 0.4 units x 2 seconds per pulse) that would happen if the selected additional time period was not incorporated to enable absorption of a partial dose of insulin.

In a further example, the pump rate modification may be applied to other insulin deliveries than automated insulin deliveries. For example, user requested boluses can also be delivered at a lower than maximal rate. In the example, if a user requests a bolus of 3 Units, the delivery control application may be operable to cause this delivery can occur via several pump mechanism pulses (i.e., 6) that have a selected additional time period of, for example, 3 seconds between pulses. As a result, the 3 seconds may be combined with the 2 seconds of the pump resolution to provide a time segment of 5 seconds which delivers the requested bolus of 3 Units within 3 seconds to allow for a pump occlusion.

While the pulse in response to an output of the actuation command at a beginning of each respective time segment of the control cycle is shown in FIG. 4 , the pulses 411-418 are shown as occurring at the beginning of each time segment #1-#8 in FIG. 4 . Of course, the actuation command may be delivered at other times within the respective time segments so long as the selected additional time periods 421-428 are of sufficient time to allow for absorption of the insulin and mitigate the effects of any pump occlusion or other absorption problems after output of the dosage of insulin.

The foregoing processes used to modify the pump rate of the pump mechanism may be applied in response to a pump occlusion as well as other reasons including physiological reasons such as difficulty in absorption of a particular type of insulin or medication. However, a process for detecting the presence of a pump occlusion may be explained with reference to FIGS. 5A and 5B.

The following examples may be useful when absorption of the insulin is occurring at a rate that is less than optimum or is occurring due to factors, such as pump occlusion or the like. As discussed above, pump occlusions may occur for a number of reasons. It may be helpful to describe examples of processes and techniques for determining the presence of a pump occlusion with reference to FIGS. 5A and 5B.

FIG. 5A illustrates an example of a process for detecting a pump occlusion that may result in a modification of a pump rate.

In the process 500, a controller of a medical device may be operable to receive a pressure sensor signal from a pressure sensor in a fluid delivery path through which the dosage of insulin is delivered (510). The pressure sensor signal may include a pressure value. The controller may be further operable to determine whether the pressure value exceeds a pressure threshold (520). The pressure threshold, for example, may be equal to an amount of pressure that the pump mechanism experiences when outputting a drug when no form of pump occlusion is present, and the drug is substantially absorbed by bodily tissue at or near an output of a cannula or needle. This may be determined from testing prior to manufacturing of the pump mechanism, for example. The threshold may be stored in a memory of the medical device during manufacture, may be set (or updated) and stored after an initial use of the medical device, or the like.

At 530, in response to the determination that the pressure value exceeds the threshold, the controller may access a lookup table stored in the memory or may communicate with and external device for an additional time increment. In the lookup table example, the lookup table may contain a number of pressure values that exceed the pressure threshold with corresponding additional time increments. The additional time increments may select an additional time increment to be added to the preset time period of the pump mechanism. The controller may be operable to use the additional time increment in the modification of the pump rate (540). As explained in the examples of FIGS. 3A, 3B and 4 , a preset time period is an amount of time it takes the pump mechanism to output the dosage of insulin after receipt of the actuation command. In step 540, for example, the controller may be operable to calculate the extended time period or time segment (as in the example of FIGS. 3A, 3B and 4 ) by adding the selected additional time increment to the preset time period to arrive at the time segment and the modified pump rate.

Alternatively, a process using a pressure to determine the presence of a pump occlusion may be implemented by the controller. FIG. 5B illustrates another example of a process for detecting a pump occlusion that may result in a modification of a pump rate.

The process 503 may be implemented by the execution of programming code by the controller of the pump mechanism in response to pressure sensor signals received from a pressure sensor that may be coupled to the pump mechanism and the controller. In the example of FIG. 5B, the controller may be operable to receive, at 563, a pressure sensor signal from the pressure sensor, which is coupled to a fluid delivery path of the pump mechanism through which the dosage of insulin is output.

At 573, the controller may calculate an amount of delivery back pressure based on the received pressure sensor signal. For example, the controller may monitor the pressure sensor signal received from the pressure sensor at the beginning, during, and/or end of each pulse of the pump mechanism.

The controller may be operable to determine whether the calculated amount of delivery back pressure exceeds a threshold (583). The controller, for example, may use the respective pressure sensor signals to determine whether the pressure sensor signal is indicating increases in back pressure that are greater than an operation without a pump occlusion.

In the example, the controller, based on the result of the determination, may generate an indication that the deliver pressure value has increased (593). The programming code executed by the controller may, for example, in response the generated indication may perform pump rate modification processes, such as those discussed with reference to the examples of FIGS. 3A, 3B and 4 .

The presence of the pressure sensor and the functions provided by delivery control application as described with reference to the earlier examples serves to reduce the buildup of back pressure and thus reduces the increased risk of occlusion that may be caused by a fixed rate of insulin delivery, which improves the safety of the AID system to the users.

FIG. 6 illustrates an example of system suitable to implement the processes and techniques described herein.

In the examples of FIGS. 1, 3A, 3B, 5A and 5B, the example processes may be implemented by programming code, such as a delivery control application, an AP application or automatic insulin deliver (AID) application, or a combination of applications that are executed by a processor. The AP application or the AID application when executed by a processor may utilize inputs and calculations as described with respect to the foregoing examples.

It may be helpful to discuss an example of a drug delivery system that may implement the process example of FIGS. 1, 3A, 3B, 5A and 5B. FIG. 6 illustrates an example of a drug delivery system suitable for implementing the example processes and techniques described herein including those described with reference to FIGS. 1, 3A, 3B, 5A and 5B. Details of an example of a medical device (such as 202 of FIG. 2 or 200 of FIG. 2A), a wearable drug delivery device, a “drug delivery device,” such as an OmniPod® delivery device provided by Insulet Corp, or the like, are described with reference to the example system of FIG. 6 .

The drug delivery system 600 may be an automatic drug delivery system that may include a medical device 602 (also referred to as “a drug delivery device”, “a wearable drug delivery device,” or “a drug delivery device”), a blood glucose sensor 604 (also referred to as “a continuous glucose monitor” or “a blood glucose measurement device”), and a personal diabetes management (PDM) device 606. The system 600, in an example, may also include a smart device 607, which may be operable to communicate with the PDM 606 and other components of system 600 either via a wired or wireless communication link, such as 691, 692 or 693. In a specific example, the smart device 607 is coupled to the PDM 606 only via a wireless communication link 693, which may be a wireless communication link that utilizes the Bluetooth communication protocol or the like.

The medical device 602 may include a controller 621, a pressure sensor 622, a memory 623, an AP application 629 and a delivery control application 699 stored in the memory 623, a pump mechanism 624, a communication device 626, user interface 627, and a power source 628. The pump mechanism may be operable to deliver a drug, like insulin, at fixed rate of the mech. Typically, pumps are commanded by a controller to deliver insulin at the fixed rate. For example, an ordinary rate for the pump mechanism 624 may be 0.05 Units per 2 seconds or 0.025 Units per second or 6 Units per 5 minutes, where insulin is measured in Units. These mechanical rates are different from physiological rates that may be determined for a patient. For example, the AP algorithm may determine that a user's total daily insulin is 24 Units per 24 hours, which may translate to a physiological rate of 1 unit per hour that may be determined according to a diabetes treatment plan. However, the pump mechanism may be operable to deliver insulin at rates greater than or less than 1 unit per hour. In an example, the medical device 602 may be attached to the body of a user, such as a patient or diabetic via, for example, an adhesive, and may deliver any therapeutic agent, including any drug or medicine, such as insulin, morphine or the like, to the user. The medical device 602 may, for example, be a wearable device worn by the user. For example, the medical device 602 may be directly coupled to a user (e.g., directly attached to a body part and/or skin of the user via an adhesive or the like). In an example, a surface of the medical device 602 may include an adhesive (not shown) to facilitate attachment to a user.

The medical device 602 may include a number of components to facilitate automatic delivery of a drug (also referred to as a therapeutic agent) to the user. The medical device 602 may be operable to store the drug (i.e., insulin) and to provide the drug to the user. The medical device 602 is often referred to as a pump, or an insulin pump, in reference to the operation of expelling insulin from the reservoir 625 for delivery to the user. While the examples refer to the reservoir 625 storing insulin, the reservoir 625 may be operable to store other drugs or therapeutic agents, such as morphine or the like, that are suitable for automatic delivery.

In various examples, the medical device 602 may be an automatic, wearable drug delivery device. For example, the medical device 602 may include a reservoir 625 for storing the drug (such as insulin), a needle or cannula (not shown) for delivering the drug into the body of the user (which may be done subcutaneously, intraperitoneally, or intravenously), and a pump mechanism (mech.) 624, or other drive mechanism, for transferring the drug from the reservoir 625, through a needle or cannula (not shown), and into the user. The pump mechanism 624 may be fluidly coupled to reservoir 625, and communicatively coupled to the medical device controller 621. The medical device 602 may also include a power source 628, such as a battery, a piezoelectric device, or the like, for supplying electrical power to the pump mechanism 624 and/or other components (such as the controller 621, memory 623, and the communication device 626) of the medical device 602. Although not shown, an electrical power supply for supplying electrical power may similarly be included in each of the sensor 604, the smart device 607 and the PDM device 606.

The blood glucose sensor 604 may be a device communicatively coupled to the PDM processor 661 or controller 621 and may be operable to measure a blood glucose value at a predetermined time interval, such as every 5 minutes, or the like. The blood glucose sensor 604 may provide a number of blood glucose measurement values to the AP applications (e.g., 629, 649, 669, or 679) operating on the respective devices (e.g., 602, 604, 606, or 607). The AP applications 629, 649, 669 and 679 may be replaced with an AID algorithm that is also operable to control and communicate with connected devices, such as medical device 602 and sensor 604, and manage a personal diabetes treatment program, and provide the functions and services as described herein.

The medical device 602 may provide the insulin stored in reservoir 625 to the user based on information (e.g., blood glucose measurement values, predicted future blood glucose measurements, evaluations based on a user request for a bolus, pressure sensor signals received from the pressure sensor 622), and the other information provided by the sensor 604, smart device 607, and/or the management device (PDM) 606. For example, the medical device 602 may contain analog and/or digital circuitry that may be implemented as a controller 621 for controlling the delivery of the drug or therapeutic agent. The circuitry used to implement the controller 621 may include discrete, specialized logic and/or components, an application-specific integrated circuit, a microcontroller or processor that executes software instructions, firmware, programming instructions or programming code (enabling, for example, the artificial pancreas application (AP App) 629 as well as the process examples of FIGS. 1, 3A, 3B, 5A and 5B) stored in memory 623, or any combination thereof. For example, the controller 621 may execute a control algorithm, such as the artificial pancreas application 629, and other programming code that may make the controller 621 operable to cause the pump to deliver doses of the drug or therapeutic agent to a user at predetermined intervals or as needed to bring blood glucose measurement values to a target blood glucose value. In an example, the AP application (App) 629 may include programming code that is operable upon execution by the controller 621 to provide the example processes for adjusting or modifying total daily insulin settings, or the like as described with reference to FIGS. 1, 3A, 3B, 5A and 5B. The user preferences for total daily insulin settings may be programmed, for example, into an artificial pancreas application 629 by the user or by a third party (such as a health care provider, medical device manufacturer, or the like) using a wired or wireless link, such as 631, between the medical device 602 and a personal diabetes management device 606 or other device, such as a computing device at a healthcare provider facility. In an example, the pump or medical device 602 is communicatively coupled to the PDM processor 661 of the personal diabetes management device via the wireless link 631 or via a wireless link, such as 691 from smart device 607 or 608 from the sensor 604. The pump mechanism 624 of the medical device 602 may be operable to receive an actuation signal from the PDM processor 661, and in response to receiving a command signal or an actuation signal, expel insulin from the reservoir 625 based on the commands from an AP application, such as 669.

The drug delivery system 600 may be operable to implement the process examples illustrated in FIGS. 1, 3A, 3B, 5A and 5B by executing a delivery control application in cooperation with an AP application. The delivery control application 699 or AP application 629 may be operable to receive a signal from the pressure sensor 622.

In an operational example, the AP application 669 executing in the personal diabetes management device 606 may be operable to control delivery of insulin to a user. For example, the AP application 669 may be operable to determine timing of an insulin dose and may output a command signal to the medical device 602 that actuates the pump mechanism 624 to deliver an insulin dose. In addition, the AP application (or AID algorithm) 669 when loaded with programmed code that provides instructions for the functionality of FIGS. 1, 3A, 3B, 5A and 5B.

In the operational example, the AP application or AID algorithm may have requested, via a command signal to the medical device 602, delivery of an insulin delivery dosage for a current cycle, say every 5 minutes, which is equal to the control cycle of the AP application or AID algorithm. The controller 621 of the medical device 602 may evaluate the requested insulin delivery using the delivery control application 699.

Continuing with the operational example, the delivery control application 699 may receive the requesting insulin delivery. For example, the requested insulin delivery dosage (referred to as ID(t)) may be equal to 0.4 Units of insulin as discussed above. In cases where a pump occlusion is not present, the controller 621 of the medical device 602 may actuate the pump mechanism 624 to deliver the ID(t) dosage immediately at the mechanical pump rate of 0.05 units every 2 seconds (which will deliver the 0.4 units of insulin in approximately 16 seconds). However, in an example, the pressure sensor signal received from the pressure sensor 622 may have indicated a degree of back pressure, which the deliver control application 699 may be operable to interpret as indicating a partial pump occlusion. The pressure sensor 622 may be operable to provide a signal to the controller 621 indicating the partial pump occlusion. The controller 621, in the presence of the indicated partial pump occlusion, may be operable to modify the delivery of the requested insulin delivery by modifying the mechanical pump rate of the pump mechanism 624. Alternatively, the controller 621 may automatically extend all requested insulin deliveries over the control cycle regardless of whether there is a pump occlusion or not.

In the presence of the partial pump occlusion, the controller 621 may modify the delivery of insulin by extending a time interval to deliver the requested insulin delivery (ID(t)) amount. For example, the controller 621 may be operable to extend the time interval to fit the control cycle or control cycle, such as 5 minutes, 10 minutes or the like, of the AP application or AID algorithm. Using a 5 minute control cycle and the ID(t) amount as 0.4 Units in an example in which the controller receives a signal from the pressure sensor 622 indicating a pump occlusion, the controller 621 may determine a pump rate modification is needed. As a result, instead of the pump delivering the 0.4 U in the 16 seconds that corresponds to a typical drug delivery, the controller modifies the delivery and extends the delivery over the 5 minutes (or 300 seconds (5 minutes×60 seconds/minute)) of the control cycle. For example, the controller may divide the 300 seconds of the control cycle by the number of pump resolution cycles for delivering the 0.4 U of insulin. In this example the number of pump resolution cycles is equal to 8 (i.e., 0.4 Units divided by the pump resolution of 0.05 U) which equals 37.5 seconds (i.e., 300 seconds/8=37.5).

Based on this calculation made by the controller 621, the controller 621 may actuate the pump mechanism 624 to deliver 0.05 U of insulin every 37.5 seconds for the 300 seconds (i.e., the 5 minute control cycle) after which substantially all of the entire amount of the requested insulin delivery ID(t) is output by the pump mechanism 624.

By extending the time interval, the controller may be able to overcome, or at least mitigate, the effects of the pump occlusion. For example, if the pump occlusion is caused by a slow absorption rate of the insulin due to a buildup of scar tissue in or around the infusion site, the slower rate of delivery over the extended time period may enable the insulin to be absorbed in or around the infusion site.

Bolus dosages may be handled in a similar manner by the medical device 602. For example, in response to a meal or other event that may cause an increase in blood glucose, a user may request a bolus dosage of insulin. In a hypothetical example, the user may request the delivery of 3 Units of insulin as the bolus dosage. In response to an input by the user or a generated request by the AP application or AID algorithm, the AP application or AID algorithm in the PDM 606 or the like may deliver a control signal to the medical device 602 indicated that a bolus delivery of 3 units is requested. The controller 621 may receive and interpret the control signal to instruct the pump mechanism 624 to deliver a requested insulin delivery (ID(t)) amount of 3 U. In response to the control signal, the controller may divide the ID(t) amount by the pump resolution (e.g., 3 U/0.05) to determine a number of pulses (e.g., 3 U/0.05=60) that the pump mechanism would need to generate to deliver the requested insulin delivery (ID(t)) amount. Without a pump occlusion and the pump operating at the pump resolution of 0.05 U per 2 seconds, the pump mechanism 624 may deliver the ID(t) of 3 U within 120 seconds or 2 minutes (i.e., 60 times 2 seconds). However, if a partial pump occlusion is detected by the pressure sensor 622, the controller 621 may extend the time interval for delivery of the ID(t). For example, the time for the control cycle may be 5 minutes, the controller may determine the number of seconds in the control cycle (5 minutes time 60 seconds/minute=300 seconds). The 300 seconds is divided by the number of pulses (60) so 5 seconds is the time for the pump to deliver 0.05 U of insulin. In other words, the controller 621 commands the pump mechanism 624 to deliver the 0.05 U of insulin over a 5 second period instead of the 2 seconds.

The other devices in the system 600, such as personal diabetes management device 606, smart device 607 and sensor 604, may also be operable to perform various functions including controlling the medical device 602. For example, the personal diabetes management device 606 may include a communication device 664, a PDM processor 661, and a personal diabetes management device memory 663. The personal diabetes management device memory 663 may store an instance of the AP application 669 that includes programming code, that when executed by the PDM processor 661 provides the process examples described with reference to the examples of FIGS. 1, 3A, 3B, 5A and 5B. The personal diabetes management device memory 663 may also store programming code for providing the process examples described with reference to the examples of FIGS. 1, 3A, 3B, 5A and 5B.

The smart device 607 may be, for example, a smart phone, an Apple Watch®, another wearable smart device, including eyeglasses, provided by other manufacturers, a global positioning system-enabled wearable, a wearable fitness device, smart clothing, or the like. Similar to the personal diabetes management device 606, the smart device 607 may also be operable to perform various functions including controlling the medical device 602. For example, the smart device 607 may include a communication device 674, a processor 671, and a memory 673. The memory 673 may store an instance of the AP application 679 and/or an instance of an AID application (not shown) that includes programming code for providing the process examples described with reference to the examples of FIGS. 1, 3A, 3B, 5A and 5B. The memory 673 may also as store programming code and be operable to store data related to the AP application 679 or an instance of an AID application (not shown). In an operational example, the AP application 679 may be operable to provide functionality similar to or the same the functionality as described with reference to the instance of the AP application 669.

The sensor 604 of system 600 may be a continuous glucose monitor (CGM) as described above, that may include a processor 641, a memory 643, a sensing or measuring device 644, and a communication device 646. The memory 643 may, for example, store an instance of an AP application 649 as well as other programming code and be operable to store data related to the AP application 649 and process examples described with reference to FIGS. 1, 3A, 3B, 5A and 5B. The AP application 649 may also include programming code for providing the process examples described with reference to the examples of FIGS. 1, 3A, 3B, 5A and 5B.

Instructions for determining the delivery of the drug or therapeutic agent (e.g., as a bolus dosage) to the user (e.g., the size and/or timing of any doses of the drug or therapeutic agent) may originate locally by the medical device 602 or may originate remotely and be provided to the medical device 602. In an example of a local determination of drug or therapeutic agent delivery, programming instructions, such as an instance of the artificial pancreas application 629, stored in the memory 623 that is coupled to the medical device 602 may be used to make determinations by the medical device 602. In addition, the medical device 602 may be operable to communicate with the cloud-based services 611 via the communication device 626 and the communication link 688. In an example, the system 600 may include one or more components operable to implement the process examples of FIGS. 1, 3A, 3B, 5A and 5B.

Alternatively, the remote instructions may be provided to the medical device 602 over a wired or wireless link (such as 631) by the personal diabetes management device (PDM) 606, which has a PDM processor 661 that executes an instance of the artificial pancreas application 669, or the smart device 607 (via communication link 691), which has a processor 671 that executes an instance of the artificial pancreas application 669 as well as other programming code for controlling various devices, such as the medical device 602, smart device 607 and/or sensor 604. In an example, the send a message to a server, for example, in the cloud services 611 or the like, requesting downloading of the one or more cost functions to a personal diabetes management (PDM) 606 or smart device 607. The medical device 602 may execute any received instructions (originating internally or from the personal diabetes management device 606) for the delivery of the drug or therapeutic agent to the user. In this way, the delivery of the drug or therapeutic agent to a user may be automatic.

In various examples, the medical device 602 may communicate via a wireless link 631 with the personal diabetes management device 606. The personal diabetes management device 606 may be an electronic device such as, for example, a smart phone, a tablet, a dedicated diabetes therapy personal diabetes management device, or the like. The personal diabetes management device 606 may be a wearable wireless accessory device. The wireless communication links 608, 631, 632, 691, 692 and 693 may be any type of wireless link provided by any known wireless standard. As an example, the wireless communication links 608, 631, 632, 691, 692 and 693 may enable communications between the medical device 602, the personal diabetes management device 606 and sensor 604 based on, for example, Bluetooth®, Wi-Fi®, a near-field communication standard, a cellular standard, or any other wireless optical or radio-frequency protocol.

The sensor 604 may be a glucose sensor operable to measure blood glucose and output a blood glucose value or data that is representative of a blood glucose value. For example, the sensor 604 may be a glucose monitor or a continuous glucose monitor (CGM). The sensor 604 may include a processor 641, a memory 643, a sensing/measuring device 644, and communication device 646. The communication device 646 of sensor 604 may include one or more sensing elements, an electronic transmitter, receiver, and/or transceiver for communicating with the personal diabetes management device 606 over a wireless link 632 or with medical device 602 over the link 608. The sensing/measuring device 644 may include one or more sensing elements, such as a glucose measurement, heart rate monitor, or the like. The processor 641 may include discrete, specialized logic and/or components, an application-specific integrated circuit, a microcontroller or processor that executes software instructions, firmware, programming instructions stored in memory (such as memory 643), or any combination thereof. For example, the memory 643 may store an instance of an AP application 649 that is executable by the processor 641.

Although the sensor 604 is depicted as separate from the medical device 602, in various examples, the sensor 604 and medical device 602 may be incorporated into the same unit. That is, in various examples, the sensor 604 may be a part of the medical device 602 and contained within the same housing of the medical device 602 (e.g., the sensor 604 may be positioned within or embedded within the medical device 602). Glucose monitoring data (e.g., measured blood glucose values) determined by the sensor 604 may be provided to the medical device 602, smart device 607 and/or the personal diabetes management device 606 and may be used to perform the functions and deliver doses of insulin for automatic delivery of insulin by the medical device 602 as described with reference to the examples of FIGS. 1, 3A, 3B, 5A and 5B.

The sensor 604 may also be coupled to the user by, for example, adhesive or the like and may provide information or data on one or more medical conditions and/or physical attributes of the user. The information or data provided by the sensor 604 may be used to adjust drug delivery operations of the medical device 602.

In an example, the personal diabetes management device 606 may be a mobile computing device operable to manage a personal diabetes treatment plan via an AP application or an AID algorithm. The personal diabetes management device 606 may be used to program or adjust operation of the medical device 602 and/or the sensor 604. The personal diabetes management device 606 may be any portable electronic, computing device including, for example, a dedicated controller, such as PDM processor 661, a smartphone, or a tablet. In an example, the personal diabetes management device (PDM) 606 may include a PDM processor 661, a personal diabetes management device memory 663, and a communication device 664. The personal diabetes management device 606 may contain analog and/or digital circuitry that may be implemented as a PDM processor 661 (or controller) for executing processes to manage a user's blood glucose levels and for controlling the delivery of the drug or therapeutic agent to the user. The PDM processor 661 may also be operable to execute programming code stored in the personal diabetes management device memory 663. For example, the personal diabetes management device memory 663 may be operable to store an artificial pancreas (AP) application 669 that may be executed by the PDM processor 661. The PDM processor 661 may when executing the artificial pancreas application 669 may be operable to perform various functions, such as those described with respect to the examples in FIGS. 1, 3A, 3B, 5A and 5B. The wireless communication device 664 may be a device, such as a receiver, a transmitter, or a transceiver that operates according to one or more radio-frequency protocols. For example, the communication device 664 may include a cellular transceiver and a Bluetooth transceiver that enables the personal diabetes management device 606 to communicate with a data network (not shown) via the cellular transceiver and with the sensor 604 and the medical device 602. The respective transceivers of communication device 664 may be operable to transmit signals containing information useable by or generated by the AP application or the like. The communication devices 626, 646 and 676 of respective medical device 602, sensor 604 and Smart device 607 may also be operable to transmit signals containing information useable by or generated by the AP application or the like.

The medical device 602 may communicate with the sensor 604 over a wireless link 608 and may communicate with the personal diabetes management device 606 over a wireless link 631. The sensor 604 and the personal diabetes management device 606 may communicate over a wireless link 632. The smart device 607, when present, may communicate with the medical device 602, the sensor 604 and the personal diabetes management device 606 over wireless communication links 691, 692 and 693, respectively. The wireless communication links 608, 631, 632, 691, 692 and 693 may be any type of wireless link operating using known wireless standards or proprietary standards. As an example, the wireless communication links 608, 631, 632, 691, 692 and 693 may provide communication links based on Bluetooth®, Wi-Fi, a near-field communication standard, a cellular standard, or any other wireless protocol via the respective communication devices 626, 646 and 664. In some examples, the medical device 602 and/or the personal diabetes management device 606 may include a user interface 627, 678 and 668, respectively, such as a keypad, a touchscreen display, levers, buttons, a microphone, a speaker, a light, a display, or the like, that is operable to allow a user to enter information and allow the personal diabetes management device to output information for presentation to the user. Note that the respective user interface devices 627, 678 and 668 may serve with the associated hardware, such as a touchscreen display, as both an input device and an output device. For example, the user interface devices may present graphical user interfaces that guide a user, for example, through the presentation of prompts, to input information or provide data to the user as well as other functions.

In various examples, the drug delivery system 600 may implement the artificial pancreas (AP) algorithm (and/or provide AP functionality) to govern or control automatic delivery of insulin to a user (e.g., to maintain euglycemia—a normal level of glucose in the blood). The AP application (or an AID algorithm) may be implemented by the medical device 602 and/or the sensor 604. The AP application may be operable to determine an initial total daily insulin dosage as described with reference to the examples of FIGS. 1, 2, 4 and 5 , as well as the times and incremental dosages of insulin delivery. In various examples, the AP application (or the AID algorithm) may determine the times and dosages for delivery based on information known about the user, such as the user's sex, age, weight, or height, and/or on information gathered about a physical attribute or condition of the user (e.g., from the sensor 604). For example, the AP application may determine an appropriate delivery of insulin based on glucose level monitoring of the user through the sensor 604. The AP application may also allow the user to adjust insulin delivery. For example, the AP application may allow the user to issue (e.g., via an input) commands to the medical device 602, such as a command to deliver an insulin bolus. In some examples, different functions of the AP application may be distributed among two or more of the personal diabetes management device 606, the medical device 602 or the sensor 604. In other examples, the different functions of the AP application may be performed by one device, such the personal diabetes management device 606, the medical device 602 or the sensor 604.

As described herein, the drug delivery system 600 or any component thereof, such as the medical device may be considered to provide AP functionality or to implement an AP application. Accordingly, references to the AP application (e.g., functionality, operations, or capabilities thereof) are made for convenience and may refer to and/or include operations and/or functionalities of the drug delivery system 600 or any constituent component thereof (e.g., the medical device 602 and/or the personal diabetes management device 606). The drug delivery system 600—for example, as an insulin delivery system implementing an AP application—may be considered to be a drug delivery system or an AP application-based delivery system that uses sensor inputs (e.g., data collected by the sensor 604).

In an example, one or more of the devices, 602, 604, 606 or 607 may be operable to communicate via a wireless communication link 688 with cloud-based services 611. The cloud-based services 611 may utilize servers and data storage (not shown). The communication link 688 may be a cellular link, a Wi-Fi link, a Bluetooth link, or a combination thereof, that is established between the respective devices 602, 604, 606 or 607 of system 600. The data storage provided by the cloud-based services 611 may store insulin delivery history related to the user, cost function data related to general delivery of insulin to users, or the like. In addition, the cloud-based services 611 may process anonymized data from multiple users to provide generalized information related to the various parameters used by the AP application.

In an example, the device 602 includes a communication device 664, which as described above may be a receiver, a transmitter, or a transceiver that operates according to one or more radio-frequency protocols, such as Bluetooth, Wi-Fi, a near-field communication standard, a cellular standard, that may enable the respective device to communicate with the cloud-based services 611. For example, outputs from the sensor 604 or the medical device 602 may be transmitted to the cloud-based services 611 for storage or processing via the transceivers of communication device 664. Similarly, medical device 602, personal diabetes management device 606 and sensor 604 may be operable to communicate with the cloud-based services 611 via the communication link 688.

In an example, the respective receiver or transceiver of each respective device, 602, 606 or 607, may be operable to receive signals containing respective blood glucose measurement values of the number of blood glucose measurement values that may be transmitted by the sensor 604. The respective processor of each respective device 602, 606 or 607 may be operable to store each of the respective blood glucose measurement values in a respective memory, such as 623, 663 or 673. The respective blood glucose measurement values may be stored as data related to the artificial pancreas algorithm, such as 629, 649, 669 or 679. In a further example, the AP application operating on any of the personal diabetes management device 606, the Smart device 607, or sensor 604 may be operable to transmit, via a transceiver implemented by a respective communication device, 664, 674, 646, a control signal for receipt by a medical device. In the example, the control signal may indicate an amount of insulin to be expelled by the medical device 602.

Various operational scenarios and examples of processes performed by the system 600 are described herein. For example, the system 600 may be operable to implement the process examples of FIGS. 1, 4A, 4B, 5A and 5B.

The techniques described herein for providing functionality to set an adjusted total daily insulin factor and determine whether the adjusted total daily insulin factor exceeds a fixed algorithm delivery threshold. In response to a result of the determination, set a total daily insulin dosage using the attained information and obtain blood glucose measurement values over a period of time. Based on the obtained blood glucose measurement values, a level of glycated hemoglobin of a user may be determined. The set total daily insulin dosage may be modified to provide a modified total daily insulin dosage in response to the determined level of glycated hemoglobin. A control signal including the modified total daily insulin dosage may be output instructing a controller to actuate delivery of insulin according to the modified total daily insulin dosage.

For example, the system 600 or any component thereof may be implemented in hardware, software, or any combination thereof. Software related implementations of the techniques described herein may include, but are not limited to, firmware, application specific software, or any other type of computer readable instructions that may be executed by one or more processors. Hardware related implementations of the techniques described herein may include, but are not limited to, integrated circuits (ICs), application specific ICs (ASICs), field programmable arrays (FPGAs), and/or programmable logic devices (PLDs). In some examples, the techniques described herein, and/or any system or constituent component described herein may be implemented with a processor executing computer readable instructions stored on one or more memory components.

In addition, or alternatively, while the examples may have been described with reference to a closed loop algorithmic implementation, variations of the disclosed examples may be implemented to enable open loop use. The open loop implementations allow for use of different modalities of delivery of insulin such as smart pen, syringe or the like. For example, the disclosed delivery control application, AP application and algorithms may be operable to perform various functions related to open loop operations, such as modification of a pump mechanism rate or the like. Similarly, a dosage amount of insulin may be received by the AP application or algorithm from a user via a user interface. Other open-loop actions may also be implemented by adjusting user settings or the like in an AP application or algorithm.

Some examples of the disclosed device may be implemented, for example, using a storage medium, a computer-readable medium, or an article of manufacture which may store an instruction or a set of instructions that, if executed by a machine (i.e., processor or microcontroller), may cause the machine to perform a method and/or operation in accordance with examples of the disclosure. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The computer-readable medium or article may include, for example, any suitable type of memory unit, memory, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory (including non-transitory memory), removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, programming code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language. The non-transitory computer readable medium embodied programming code may cause a processor when executing the programming code to perform functions, such as those described herein.

Certain examples of the present disclosure were described above. It is, however, expressly noted that the present disclosure is not limited to those examples, but rather the intention is that additions and modifications to what was expressly described herein are also included within the scope of the disclosed examples. Moreover, it is to be understood that the features of the various examples described herein were not mutually exclusive and may exist in various combinations and permutations, even if such combinations or permutations were not made express herein, without departing from the spirit and scope of the disclosed examples. In fact, variations, modifications, and other implementations of what was described herein will occur to those of ordinary skill in the art without departing from the spirit and the scope of the disclosed examples. As such, the disclosed examples are not to be defined only by the preceding illustrative description.

Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of non-transitory, machine readable medium. Storage type media include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which may provide non-transitory storage at any time for the software programming. It is emphasized that the Abstract of the Disclosure is provided to allow a reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, various features are grouped together in a single example for streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed examples require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed example. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate example. In the appended claims, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” “third,” and so forth, are used merely as labels and are not intended to impose numerical requirements on their objects.

The foregoing description of example examples has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the present disclosure to the precise forms disclosed. Many modifications and variations are possible in light of this disclosure. It is intended that the scope of the present disclosure be limited not by this detailed description, but rather by the claims appended hereto. Future filed applications claiming priority to this application may claim the disclosed subject matter in a different manner and may generally include any set of one or more limitations as variously disclosed or otherwise demonstrated herein. 

What is claimed is:
 1. A non-transitory computer readable medium embodied with programming code executable by a processor, and the processor when executing the programming code is operable to: receive a first control instruction from a controller to deliver a first dosage of a liquid drug by a pump mechanism of a delivery device; determine a first number of pump mechanism pulses needed to deliver the first dosage of the liquid drug; determine a remainder of the first dosage of the liquid drug unable to be delivered based upon the first number of pump mechanism pulses; output a first actuation command to actuate the pump mechanism to deliver the first dosage of the liquid drug minus the remainder of the first dosage of the liquid drug; receive a second control instruction to deliver a second dosage of the liquid drug from the pump mechanism; determine a second number of pump mechanism pulses needed to deliver the remainder of the first dosage of the liquid drug plus at least a portion of the second dosage; and output a second actuation command to actuate the pump mechanism to deliver the remainder of the first dosage of the liquid drug plus the at least a portion of the second dosage.
 2. The non-transitory computer readable medium of claim 1, wherein the processor, when executing the programming code is further operable to: determine a second number of pump mechanism pulses needed to deliver the second dosage of the liquid drug; determine a remainder of the second dosage of the liquid drug unable to be delivered based upon the second number of pump mechanism pulses; and add the remainder of the second dosage of the liquid drug to a future dosage to be delivered by the pump mechanism.
 3. The non-transitory computer readable medium of claim 1, wherein the processor, when executing the programming code is further operable to: determine an undelivered remainder of one or more dosages of the liquid drug during a past time period; and cause the determined underdelivered remainder to be delivered in a future time period.
 4. The non-transitory computer readable medium of claim 1, wherein the first number of pump mechanism pulses needed to deliver the first dosage of the liquid drug is based upon a resolution of the pump mechanism, and the resolution comprises a fixed amount of liquid drug caused to be output by one pump mechanism pulse.
 5. The non-transitory computer readable medium of claim 4, wherein the resolution further comprises a predetermined period of time to deliver the fixed amount of liquid drug.
 6. The non-transitory computer readable medium of claim 1, wherein the delivery device comprises a housing and the controller is contained within the housing.
 7. The non-transitory computer readable medium of claim 1, wherein the controller is a personal diabetes manager, a smartphone, or a smartwatch remote from the delivery device.
 8. The non-transitory computer readable medium of claim 1, wherein the first control instruction is received during a first time period representing a first control cycle.
 9. The non-transitory computer readable medium of claim 8, wherein the second control instruction is received during a second time period representing a second control cycle.
 10. The non-transitory computer readable medium of claim 9, wherein the first control cycle and the second control cycle are of equal duration.
 11. A drug delivery device, comprising: a reservoir operable to hold a liquid drug; a cannula coupled to the reservoir via a fluid delivery path and operable to deliver the liquid drug to a user; a pump mechanism coupled to the reservoir and operable to deliver the liquid drug from the reservoir via the fluid delivery path and through the cannula; a memory operable to store programming code, a delivery control application, and data; a controller communicatively coupled to the pump mechanism and the memory, and operable to execute the programming code and the delivery control application; and a communication device operable to wirelessly communicate with an external device and communicatively coupled to the controller, wherein: the controller, when executing the delivery control application, is operable to: receive a first control instruction from a controller to deliver a first dosage of a liquid drug by a pump mechanism of a delivery device; determine a first number of pump mechanism pulses needed to deliver the first dosage of the liquid drug; determine a remainder of the first dosage of the liquid drug unable to be delivered based upon the first number of pump mechanism pulses; output a first actuation command to actuate the pump mechanism to deliver the first dosage of the liquid drug minus the remainder of the first dosage of the liquid drug; receive a second control instruction to deliver a second dosage of the liquid drug from the pump mechanism; determine a second number of pump mechanism pulses needed to deliver the remainder of the first dosage of the liquid drug plus at least a portion of the second dosage; and output a second actuation command to actuate the pump mechanism to deliver the remainder of the first dosage of the liquid drug plus the at least a portion of the second dosage.
 12. The drug delivery device of claim 11, wherein the processor, when executing the programming code is further operable to: determine a second number of pump mechanism pulses needed to deliver the second dosage of the liquid drug; determine a remainder of the second dosage of the liquid drug unable to be delivered based upon the second number of pump mechanism pulses; and add the remainder of the second dosage of the liquid drug to a future dosage to be delivered by the pump mechanism.
 13. The drug delivery device of claim 11, wherein the processor, when executing the programming code is further operable to: determine an undelivered remainder of one or more dosages of the liquid drug during a past time period; and cause the determined underdelivered remainder to be delivered in a future time period.
 14. The drug delivery device of claim 11, wherein the first number of pump mechanism pulses needed to deliver the first dosage of the liquid drug is based upon a resolution of the pump mechanism, and the resolution comprises a fixed amount of liquid drug caused to be output by one pump mechanism pulse.
 15. The drug delivery device of claim 14, wherein the resolution further comprises a predetermined period of time to deliver the fixed amount of liquid drug.
 16. The drug delivery device of claim 11, wherein the delivery device comprises a housing and the controller is contained within the housing.
 17. The drug delivery device of claim 11, wherein the controller is a personal diabetes manager, a smartphone, or a smartwatch remote from the delivery device.
 18. The drug delivery device of claim 11, wherein the first control instruction is received during a first time period representing a first control cycle
 19. The drug delivery device of claim 18, wherein the second control instruction is received during a second time period representing a second control cycle.
 20. The drug delivery device of claim 19, wherein the first control cycle and the second control cycle are of equal duration. 